<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        #box {
            width: 120px;
            height: 120px;
            background-color: pink;
            position: absolute;
            left: 120px;
            top: 200px;
        }
    </style>
</head>

<body>
    <div id="box"></div>
    <input type="button" value="点击向右走"><input type="button" value="点击向左走">

</body>
<script>
    //让盒子向右移动到800px
    //获取元素
    //声明一个定时器
    var timer = null;
    var oBox = document.getElementById("box");
    var aInp = document.getElementsByTagName("input");
    // //添加点击事件
    // aInp[0].onclick = function () {
    //     //初始化,点击的时候清除掉之前的定时器
    //     clearInterval(timer);
    //     //添加一个定时器
    //     timer = setInterval(function () {
    //         var dis = oBox.offsetLeft + 8;
    //         if (dis >= 800) {
    //             dis = 800;
    //         }
    //         oBox.style.left = dis + 'px';
    //         if (dis == 800) {
    //             clearInterval(timer);
    //             timer = null;
    //         }
    //     }, 20)
    // }

    // //单击想左移动
    // aInp[1].onclick =function() {
    //     //点击的时候清除掉之前的定时器
    //     clearInterval(timer);
    //     timer = setInterval(function() {
    //         var dis= oBox.offsetLeft -8;
    //         if(dis<=120){
    //             dis=120;
    //         }
    //         oBox.style.left= dis+"px";
    //         if(dis==120){
    //             clearInterval(timer);
    //             timer = null;
    //         }
    //     },20)
    // }
aInp[0].onclick=function() {
    move(800,8);
}
aInp[1].onclick=function() {
    move(120,-8);
}
    //封装成一个函数
    function move(target,speed) {
        //添加点击事件

        //初始化,点击的时候清除掉之前的定时器
        clearInterval(timer);
        var dis = oBox.offsetLeft;
        //添加一个定时器
        timer = setInterval(function () {
            dis+= speed;
            if (dis >= target&&speed>0) {
                dis = target;
            }
            if (dis<=target&&speed<0) {
                dis = target;
            }
            oBox.style.left = dis + 'px';
            if (dis == target) {
                clearInterval(timer);
                timer = null;
            }
        }, 20)

    }

</script>

</html>